package com.结构型模式.适配器模式;

/**
 * 发动机统一接口
 */
interface Motor{
    void drive();
}

/**
 * 电动机适配者
 */
class ElectricMotor{
   void electricDriver(){
       System.out.println("启动电能发动机");
   }
}

/**
 * 电动机适配器
 */
class ElectricAdapter extends ElectricMotor implements Motor{

    @Override
    public void drive() {
        electricDriver();
    }
}

/**
 * 光能机适配者
 */
class OpticalMotor{
    void opticalDeiver(){
        System.out.println("启动光能机");
    }
}

/**
 * 光能机适配器
 */
class OpticalAdepter extends OpticalMotor implements  Motor{
    @Override
    public void drive() {
        opticalDeiver();
    }
}
/**
 * 适配器模式
 */
public class AdapterPattern {
    public static void main(String[] args) {
        Motor motor = new OpticalAdepter();
        motor.drive();
        Motor m2  = new ElectricAdapter();
        m2.drive();
    }
}

